package org.big.usermanager.service;

import org.apache.ibatis.annotations.Select;
import org.big.usermanager.dto.*;

import java.util.List;

public interface UserService {
    
    UserResponse createUser(CreateUserRequest request);

    UserResponse getUserById(Long userId);
    
//    Page<UserResponse> listUsers(String keyword, Integer status, Integer roleId, Pageable pageable);


    UserResponse updateUser(Long userId, UpdateUserRequest request);
    
    void deleteUser(Long userId);
    
    void updateUserStatus(Long userId, UpdateStatusRequest request);
    
    void changePassword(Long userId, ChangePasswordRequest request);
    
    UserResponse getUserByPhone(String phone);
    
    UserResponse getUserByEmail(String email);
    
    List<UserResponse> getUsersBatch(List<Long> userIds);
}